home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
TSMObject.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
6KB
|
166 lines
/*
File: TSMObject.idl
Contains: Declarations for the SOM based Text Services Manager service Objects.
Version: Technology: 3/11/96 1/26/96 12/14/95 12/14/95 6/20/95 6/20/95 4/20/95 2/21/95
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1995-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#include <somobj.idl>
#include <somcls.idl>
#include <Types.idl>
#include <HIWindows.idl>
#include <Keyboard.idl>
#include <AEDataModel.idl>
#include <TextObjects.idl>
#include <TextServices.idl>
interface TSMObject : SOMObject
{
/*
The TSMContext that is the owner of the Object
*/
attribute TSMContext fTSMContext;
/*
The Status of the last operation on this object
*/
attribute OSStatus fStatus;
/*
The text service context that has been attached to this object
*/
attribute TSMServiceContextRef fServiceContext;
/*
Initialize the service. Should be overriden by the actual TextService
so it may perform an initialization of its private data structures, and
attach its ServiceContext to the object.
*/
OSStatus InitializeService();
/*
Terminate the service. Should be overriden by the Text Service to perform
any cleanup prior to the object being destroyed.
*/
OSStatus TerminateService();
/*
Text Service changed. This call is generated when the working state of the
text service is being changed. Such changes may include Language, or
Locale Manager specification. The service should check the
Service Specification, and modify its state to reflect the requested change.
*/
OSStatus ServiceChanged();
/*
EditInlineHole. Tells the TextService to re-edit a portion of text that was
previously an in-line hole. This is primarily used for UNDO perposes,
but may be used for mulit-option area's controlled by the textservice
*/
OSStatus EditInlineHole(in AppleEvent *theEvent);
/*
FeatureChanged. One of the TSM Feature set has changed, this could be registered
handlers, FloatingWindow usages or any of the other features.
If the service is keeping track of features, is should query the current
state of the features that interest it.
*/
OSStatus FeatureChanged (in UInt32 theType);
/*
Text Service Activate. Called when the Input Method is being activated, the
input method should respond by showing its user interface elements, and
preparing itself in an active state.
*/
OSStatus ActivateService();
/*
Text Service Deactivate. The input method is being deactivated. It should hide
its user interface, fix any text input, and set itself in a deactivated
state. An input method should release any unecessary resources when it is
deactivated, but should maintain any state information.
*/
OSStatus DeactivateService();
/*
Service Event. The input method has the opertunity to act on the current key
event. If it handles the current event, and does not want the application
to recieve the event, it should return "true". It should not modify the
content of the event structure, as there may be other text services who will
be looking at the event.
*/
OSStatus ServiceMouseEvent(in Point *mousePos, in KeyboardModifiers Modifiers, in UInt32 when, in UInt32 theEventType, in AppleEvent *event);
/*
Service Mouse Event. The input method has the opertunity to act on the current Mouse
event. If it handles the current event, and does not want the application
to recieve the event, it should return "true". It should not modify the
content of the event structure, as there may be other text services who will
be looking at the event.
*/
OSStatus ServiceKeyEvent(in KeyboardModifiers Modifiers, in VirtualKeyCode theKeyCode, in VirtualKeyCode theCharCode, in AppleEvent *event);
/*
Service Window Event. The input method has the opertunity to act on the current Window
event. If it handles the current event, and does not want the application
to recieve the event, it should return "true". It should not modify the
content of the event structure, as there may be other text services who will
be looking at the event.
*/
OSStatus ServiceWindowEvent(in HIWindow theWindow, in UInt32 theEventType, in AppleEvent *event);
/*
Hide Service Widnows. The input method should hide its service windows. This
will normally be followed by a Deactivate method call.
*/
OSStatus HideServiceWindows();
/*
Set Cursor. If the input method wants cursor control, it should process this
method, and set the cursor. If it does set the cursor, it should return
"true" otherwise it should return "false".
*/
OSStatus DoSetCursor (in Point *mousePos, in RegionClass rgnClass, in ByteOffset offset, in boolean isLeftHand, in AppleEvent *theEvent);
/*
* Release inline holes
*/
OSStatus ReleaseInlineHoles ();
/*
* Terminate current input
*/
OSStatus TerminateInput ();
#ifdef __SOMIDL__
implementation
{
passthru C_h_before = "#include <TextServices.h>";
releaseorder: _get_fTSMContext,
_set_fTSMContext,
_get_fStatus,
_set_fStatus,
_get_fServiceContext,
_set_fServiceContext,
InitializeService,
TerminateService,
ServiceChanged,
EditInlineHole,
FeatureChanged,
ActivateService,
DeactivateService,
ServiceKeyEvent,
ServiceMouseEvent,
ServiceWindowEvent,
ReleaseInlineHoles,
HideServiceWindows,
DoSetCursor,
TerminateInput;
somInit: override;
majorversion = 1;
minorversion = 1;
};
#endif
};